*cx-- = '\0';
}
if (*c != '\0') {
- wpt->shortname = xstrdup(c);
+ wpt->shortname = c;
}
break;
case 2:
wpt->altitude = atof(c);
break;
case 7:
- wpt->description = xstrdup(c);
+ wpt->description = c;
break;
default:
if (col > 7) {
-#if NEW_STRINGS
wpt->description += " ";
wpt->description += c;
-#else
- wpt->description = xstrappend(wpt->description, " ");
- wpt->description = xstrappend(wpt->description, c);
-#endif
}
}
}
case 0:
break; /* unknown field */
case 1:
- track->rte_name = xstrdup(c);
+ track->rte_name = c;
break;
case 2:
break; /* unknown field */
case 0:
break; /* unknown field (colour?) */
case 1:
- route->rte_name = xstrdup(c);
+ route->rte_name = c;
break;
case 2:
break; /* unknown field */
if (name != NULL) {
name = csv_stringclean(name, ",");
} else {
- name = xstrdup(" ");
+ name = " ";
}
gbfprintf(fout, "R 16711680,%s,1,-1\n", CSTR(name));
}
/* macros */
#define IS_VALID_ALT(a) (((a) != unknown_alt) && ((a) < GARMIN_UNKNOWN_ALT))
-#define DUPSTR(a) (((a) != NULL) && ((a)[0] != 0)) ? xstrdup((a)) : NULL
+#define DUPSTR(a) (((a) != NULL) && ((a)[0] != 0)) ? ((a)) : NULL
static char* opt_datum = NULL;
static char* opt_dist = NULL;
void
gtc_trk_ident(xg_string args, const QXmlStreamAttributes* unused)
{
- trk_head->rte_name = xstrdup(args);
+ trk_head->rte_name = args;
}
void
char cbuf[10];
waypoint* wpt_lap_s = waypt_dupe(wpt_tmp);
snprintf(cbuf, sizeof(cbuf), "LAP%03d", lap_ct);
- wpt_lap_s->shortname = xstrdup(cbuf);
+ wpt_lap_s->shortname = cbuf;
waypt_add(wpt_lap_s);
lap_s = 0;
}
if (wpt_tmp->longitude != 0. && wpt_tmp->latitude != 0.) {
/* Add the begin position of a CourseLap as
a waypoint. */
- char* cbuf;
- xasprintf(&cbuf, "LAP%03d", lap_ct);
- wpt_tmp->shortname = cbuf;
+ wpt_tmp->shortname = QString().sprintf("LAP%03d", lap_ct);
waypt_add(wpt_tmp);
} else {
waypt_free(wpt_tmp);
void
gtc_wpt_ident(xg_string args, const QXmlStreamAttributes* unused)
{
- wpt_tmp->shortname = xstrdup(args);
+ wpt_tmp->shortname = args;
/* Set also as notes for compatibility with garmin usb format */
- wpt_tmp->notes = xstrdup(args);
+ wpt_tmp->notes = args;
}
void
void
gtc_wpt_notes(xg_string args, const QXmlStreamAttributes* unused)
{
- wpt_tmp->description = xstrdup(args);
+ wpt_tmp->description = args;
}
#endif
wpt = waypt_new();
- wpt->shortname = xstrndup(w.name, sizeof(w.name));
+ // Could probably find a way to eliminate the alloc/copy.
+ char *s = xstrndup(w.name, sizeof(w.name));
+ wpt->shortname = s;
+ xfree(s);
+
wpt->SetCreationTime(w.time);
guder = gudermannian_i1924(w.north);
if (rte == NULL) {
rte = route_head_alloc();
route_add_head(rte);
- rte->rte_name = xstrndup(hrte.name, sizeof(hrte.name));
+ // TODO: find a way to eliminate the copy.
+ char *s = xstrndup(hrte.name, sizeof(hrte.name));
+ rte->rte_name = s;
+ xfree(s);
/* rte->rte_num = hrte.num + 1; only internal number */
}
route_add_wpt(rte, waypt_dupe(wpt));
trk = route_head_alloc();
track_add_head(trk);
- trk->rte_name = xstrndup(th.name, sizeof(th.name));
+ // TODO: find a way to eliminate the copy.
+ char *s = xstrndup(th.name, sizeof(th.name));
+ trk->rte_name = s;
+ xfree(s);
trk->rte_num = th.trk_num;
/* We create one wpt for the info in the header */
text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in);
if (text_len) {
buff[text_len] = '\0';
- wpt_tmp->shortname = xstrdup(buff);
+ wpt_tmp->shortname = buff;
}
if (global_opts.debug_level >= 1)
text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in);
if (text_len) {
buff[text_len] = '\0';
- wpt_tmp->description = xstrdup(buff);
+ wpt_tmp->description = buff;
}
/* Time is number of seconds since Jan. 1, 2000 */
waypt_time = gbfgetint32(file_in);
text_len = lowranceusr_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in);
if (text_len) {
buff[text_len] = '\0';
- rte_head->rte_name = xstrdup(buff);
+ rte_head->rte_name = buff;
}
/* num Legs */
wpt_tmp->longitude = lon_mm_to_deg(gbfgetint32(file_in));
wpt_tmp->altitude = 0;
snprintf(buff, sizeof(buff), "Icon %d", i+1);
- wpt_tmp->shortname = xstrdup(buff);
+ wpt_tmp->shortname = buff;
/* symbol */
wpt_tmp->icon_descr = lowranceusr_find_desc_from_icon_number(gbfgetint32(file_in));
waypt_add(wpt_tmp);
if (text_len) {
buff[text_len] = '\0';
- trk_head->rte_name = xstrdup(buff);
+ trk_head->rte_name = buff;
}
if (global_opts.debug_level >= 1) {
if (!buff[0] && seg_break && j) {
trk_tmp = route_head_alloc();
trk_tmp->rte_num = ++trk_num;
- trk_tmp->rte_name = xstrdup(trk_head->rte_name);
+ trk_tmp->rte_name = trk_head->rte_name;
track_add_head(trk_tmp);
trk_head = trk_tmp;
}
text_len = lowranceusr4_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in, 2);
if (text_len) {
buff[text_len] = '\0';
- wpt_tmp->shortname = xstrdup(buff);
+ wpt_tmp->shortname = buff;
}
/* Long/Lat */
text_len = lowranceusr4_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in, 2);
if (text_len) {
buff[text_len] = '\0';
- wpt_tmp->description = xstrdup(buff);
+ wpt_tmp->description = buff;
}
/* Alarm radius; XXX: I'm not sure what the units are here,
text_len = lowranceusr4_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in, 2);
if (text_len) {
buff[text_len] = '\0';
- rte_head->rte_name = xstrdup(buff);
+ rte_head->rte_name = buff;
}
num_legs = gbfgetint32(file_in);
text_len = lowranceusr4_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in, 2);
if (text_len) {
buff[text_len] = '\0';
- trk_head->rte_name = xstrdup(buff);
+ trk_head->rte_name = buff;
}
/* Flags, discard for now */
text_len = lowranceusr4_readstr(&buff[0], MAXUSRSTRINGSIZE, file_in, 2);
if (text_len) {
buff[text_len] = '\0';
- trk_head->rte_desc = xstrdup(buff);
+ trk_head->rte_desc = buff;
}
/* Creation date/time, discard for now */
static void
any_route_free(route_head* rte)
{
-#if !NEW_STRINGS
- if (rte->rte_name) {
- xfree(rte->rte_name);
- }
- if (rte->rte_desc) {
- xfree(rte->rte_desc);
- }
-#endif
waypt_flush(&rte->waypoint_list);
if (rte->fs) {
fs_chain_destroy(rte->fs);
QUEUE_FOR_EACH(routes, elem, tmp) {
rte = (route_head*) elem;
-#if NEW_STRINGS
if (rte->rte_name == name) {
-#else
- if (0 == strcmp(rte->rte_name, name)) {
-#endif
return rte;
}
}
if (ct) {
(*ct)++;
}
-#if NEW_STRINGS
if (synth && wpt->shortname.isEmpty()) {
- char *t;
- xasprintf(&t, "%s%0*d", CSTRc(namepart), number_digits, *ct);
- wpt->shortname = t;
-#else
- if (synth && !wpt->shortname) {
- xasprintf(&wpt->shortname,"%s%0*d", CSTR(namepart), number_digits, *ct);
-#endif
+ wpt->shortname = QString().sprintf("%s%0*d", CSTRc(namepart), number_digits, *ct);
wpt->wpt_flags.shortname_is_synthetic = 1;
}
update_common_traits(wpt);
QUEUE_FOR_EACH(&rh->waypoint_list, elem, tmp) {
waypoint* waypointp = (waypoint*) elem;
-#if NEW_STRINGS
if (waypointp->shortname == name) {
-#else
- if (0 == strcmp(waypointp->shortname, name)) {
-#endif
return waypointp;
}
}
route_head* rte_old = (route_head*)elem;
rte_new = route_head_alloc();
- rte_new->rte_name = xstrdup(rte_old->rte_name);
- rte_new->rte_desc = xstrdup(rte_old->rte_desc);
+ rte_new->rte_name = rte_old->rte_name;
+ rte_new->rte_desc = rte_old->rte_desc;
rte_new->rte_url = rte_old->rte_url;
rte_new->fs = fs_chain_copy(rte_old->fs);
rte_new->rte_num = rte_old->rte_num;
double tot_hrt = 0.0;
int pts_cad = 0;
double tot_cad = 0.0;
-#if NEW_STRINGS
-#else
- char tkptname[100];
-#endif
computed_trkdata* tdata = (computed_trkdata*)xcalloc(1, sizeof(computed_trkdata));
if (trkdatap) {
}
}
prev = thisw;
-#if NEW_STRINGS
if (thisw->shortname.isEmpty()) {
thisw->shortname = QString("%1-%2").arg(trk->rte_name).arg(tkpt);
-#else
- if (!thisw->shortname || !thisw->shortname[0]) {
- snprintf(tkptname, sizeof(tkptname), "%s-%d",
- trk->rte_name ? CSTRc(trk->rte_name) : "" , tkpt);
- thisw->shortname = xstrdup(tkptname);
-#endif
}
tkpt++;
}